=== Final Fantasy VI (SNES) Dialog choice cursor hacking === By Bregalad February 10th, 2013 = Introduction = A recurring item in the Final Fantasy series is the "hand cursor" which is omnipresent in the menus, etc... This cursor is almost like the trademark of Final Fantasy games (although hand cursors have been used in other games as well). All cursors in the Final Fantasy games 1 to 9 are hand cursors, right ? Well almost... While all other cursors of the series are hand cursors, they decided for whatever reason to use an arrow cursor when dialogue choices appear in FF6 - and exclusively in dialogue choices - all other cursors in FF6 are hand cursor as well. This inconstancy irritated me really so I decided to hack the game to change this arrow cursor into a hand cursor. = How to change the arrow cursor in FF6 = The arrow cursor in FF6 is not easy to find using regular graphical tools. Actually this is because, just like the dialog box fonts, the arrow cursor is not stored as a regular tile. Instead, it is coded as a 12 byte "shape" lockup table, and the game will convert it to regulars in 2BP Layer 2 format simulating a bitmapped layer, which is also used for variable width font (US version) and non-8x8 font with fixed width (japanese version). A shadow is automatically created by software by shifting the image left 1 pixels and putting this data on the 2nd bitplane. The cursor shape is defined by 12 consecutive bytes, each byte defining 8 horizontal pixels. After the shadow have been created, the overall figure will be 9x12 pixels. The lockup table adress is, with HEADERLESS ROMs : * 0x8832 in the US version (both versions 1.0 and 1.1) * 0x8767 for Japanese version. The orignal shape is as following : 0x20 ..#..... 0x30 ..##.... 0x38 ..###... 0x3c ..####.. 0x3e ..#####. 0x3f ..###### 0x3e ..#####. 0x3c ..####.. 0x38 ..###... 0x30 ..##.... 0x20 ..#..... 0x00 ........ In order to change the arrow cursor into a hand cursor, I change the shape as following : 0x00 ........ 0x00 ........ 0x18 ...##... 0xb0 #.##.... 0xff ######## 0xff ######## 0xf8 #####... 0xf8 #####... 0xf8 #####... 0xb0 #.##.... 0x00 ........ 0x00 ........ Obviously any 8x11 cursor shape is possible. = History = v1.0 - February 10th, 2013 : Initial release v2.0 - March 19th, 2017 : Since RHDN deleted this hack with the pretext it was too simple to count as hacks, I converted the hack to a doccument.